import { round, times } from 'number-precision';

/**
 * toFen的选项
 * @interface IToFenOptions
 */
interface IToFenOptions {
  /** 保留几位小数，默认为0 */
  decimal?: number;
}

/**
 * 将元转换成分
 * @export
 * @since 1.0.1
 * @example
 * toFen(1.25 // 125
 * toFen(19.9) // 1990,不是1989.9999999999998
 * @param {(number | string)} yuan
 * @param {IToFenOptions} [options={}]
 * @param {number} [options.decimal=0] 保留几位小数，默认为0
 * @return {*}  {number}
 */
export default function toFen(yuan:number | string, { decimal = 0 }:IToFenOptions = {}):number {
  // 参数检查
  if (typeof yuan !== 'number' && typeof yuan !== 'string') {
    return 0;
  }
  return round(times(yuan, 100), decimal);
}
